學了好幾天的玩學機操作,大家有沒有覺得裡面內建的 micropython 系統很厲害? Micropython 是怎麼誕生呢?我們來查一下維基百科:
MicroPython是澳大利亞程式設計師和物理學家Damien George,在2013年一次成功的Kickstarter眾籌活動之後最初建立的。儘管最初的Kickstart眾籌活動將MicroPython與基於STM32 F4的pyboard開發板一起發行,MicroPython支援大量的基於ARM CPU 架構的硬體。MicroPython可在於Arduino、ESP8266、ESP32、和物聯網硬體上使用。在2016年,Python軟體基金會建立了MicroPython的BBC Micro Bit版本,作為其BBC Micro Bit合作夥伴貢獻的一部份。
Micropython 的特色:
為了要多了解 micropython 的函式庫,您可以在 pypi.org 這個 Python 套件庫中以「micropython」作為關鍵字搜尋。2023年九月初,已經收錄了近 300 個套件。另外在 Github 上也有不少專案與 Micropython 有關。讀者可以先閱讀相關說明,找尋合用的套件與程式碼參考,減少開發時間。
目前2023年玩學機使用 micropython 1.19 版本。您可以連結至 https://docs.micropython.org/en/v1.19.1/ 閱讀官方文件與查閱相關範例程式。
import utime
def performance(n):
result = 0
for i in range(n):
result = result + i
return result
def CPU_Freq_cal(n):
start_time = utime.ticks_us()
result = performance(n)
end_time = utime.ticks_us()
# 計算程式執行時間(微秒)
execution_time = utime.ticks_diff(end_time, start_time)
# 預估 CPU 運作速率
cpu_speed = 1000000 / execution_time
print("CPU 運算速率約為: ", cpu_speed, "Mhz")
# 實際 CPU 運算頻率
print("實際 CPU 運算頻率: ", machine.freq())
# 測試運算次數造成的效率影響
CPU_Freq_cal(100)
CPU_Freq_cal(1000)
CPU_Freq_cal(10000)
CPU_Freq_cal(100000)
import gc
free_memory = gc.mem_free()
print("還可使用的記憶體空間為(Bytes):" , free_memory)
print("還有 {0:.2f} K 記憶體可以用。".format(free_memory / 1024))
import os
pwd = os.getcwd()
file_list = os.listdir(pwd)
# 列出文件與子目錄列表:
for item in file_list:
print(item)
是不是越來越熟悉 MicroPython 的模組呢?明天我們繼續來介紹「用玩學機來算數學」。